#ifndef INPUT_H
#define INPUT_H

#include "keys.h"
#include "event.h"

void init_input(void);
void free_input(void);

void keyboard_event(KeyEvent k);

void set_multikey_toggle(int vkey);

void bind_action(int vkey, int action);
void bind_multikey_action(int * vkeys, int key_count, int action);

void add_key_callback(void (*callback)(KeyEvent k, int action));
void add_multikey_callback(void (*callback)(int * k, int key_count, int action));

void remove_key_callback(void (*callback)(KeyEvent k));
void remove_multikey_callback(void (*callback)(KeyEvent * k, int key_count));

const char * get_key_name(int keynum);

#endif